package com.spring.transaction.demotransaction.business;

import com.spring.transaction.demotransaction.entity.User;
import com.spring.transaction.demotransaction.entity.UserExt;

public interface UserBusiness {

    void saveWithoutTransAction(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithRequired(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithSelfRequired(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithRequiredCatch(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithCatch(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithoutRequiredNew(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithRequiredNew(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithOneRequiredNew(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithOneRequiredNewThrow(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithOneRequiredNewThrowCatch(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithWithOutNested(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithWithNestedThrow(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithWithNestedOneThrow(User user, boolean exception1, UserExt userExt,boolean exception2);

    void saveWithWithNestedOneThrowCatch(User user, boolean exception1, UserExt userExt,boolean exception2);

}
